import gulp from 'gulp';
import gulpif from 'gulp-if';
import liveserver from 'gulp-live-server'; //启动脚本作为服务器
import args from './util/args';

gulp.task('serve',(cb)=>{
  //如果不是出于监听状态下  直接返回回调函数
  if(!args.watch) return cb();
  
  //监听状态下时创建服务器 

  //在当前命令行下执行这个脚本 
  var server = liveserver.new(['--harmony','server/bin/www']);
  server.start();

  //监听文件, 这些文件改变时做出相应的处理 
  //[]存储的是要监听的文件路径
  gulp.watch(['server/public/**/*.js','server/views/**/*.ejs'],function(file){
    //通知服务器文件已发生改变 => 服务器做出处理
    server.notify.apply(server,[file]);
  })

  //监听更改之后需要重启才生效的文件
  //[监听服务器的脚本文件（做接口用）, 整个服务的入口文件]
  gulp.watch(['server/routes/**/*.js','server/app.js'],function(){
    //当文件做出更改的时候  重启服务器
    server.start.bind(server)()
  });
})
